CS234
强化学习
· 中文学习站
斯坦福 CS234 Winter 2019 的全套中文材料。
一讲一行
,点开看知识点清单。几种读法按你当下想花多少力气挑:
放映厅
动画讲解,空格推进
速览
整部摊平,一屏滚到底
精读
左课件右讲解,一次一页,带自测与错题本
课件
原始课件
L01
强化学习导论
42 条讲解
放映厅
速览
精读
课件
这一讲要干什么
一句话定义:三个词各自承重
海鞘:脑是干什么用的
五个应用:从玩具问题到真问题
四个要素:本课的坐标系
① 优化:注意「or at least」
② 延迟后果:两个不同的难题
③ 探索:删失数据,不是试错代价
④ 泛化:为什么不能把策略写死
四要素重排与四个对照:各缺哪一格
模仿学习:账要算全
怎么推进,以及本课基本不讲的三件事
先修要求:这门课假设你会什么
序贯决策:目标,以及三个例子
检验题:人工家教,以及奖励写错会怎样
交互回路:离散时间,三件事一轮
历史:到目前为止的全部记录
世界状态:真的那个,通常你看不见
agent 状态:你实际拿来做决策的那个
Markov 条件:充分统计量
两道自查题:同一个系统,换表示就换答案
为什么这个假设这么流行——以及它真正的代价
完全可观测:MDP
部分可观测:POMDP,自己造状态
赌博机:动作不影响下一个观测
MDP / POMDP:动作影响未来
世界怎么变:确定性 vs 随机
火星车:贯穿全课的例子
三个部件:模型、策略、值函数
模型:转移 + 奖励,而且可能是错的
策略:确定性与随机性
值函数:折扣回报的期望
γ=0 是什么意思
agent 分类(粗分):有没有模型
规划 vs 强化学习:差别只在一句话
接龙:有规则书和没规则书
一句显而易见的话,和它带出的困境
探索与利用:必须牺牲一点当下
评估与控制:两件事,先后有序
两道练习:评估与控制各一
课程大纲:这门课的地图
agent 分类(细分):显式与隐式
讲稿全文
原讲座 ↗
L02
已知世界模型:MP / MRP / MDP,策略迭代与值迭代
52 条讲解
放映厅
速览
精读
课件
这一讲要干什么
复习:模型 / 策略 / 值函数
今天的路线
MDP 装得下什么
复习:马尔可夫性
马尔可夫过程 / 马尔可夫链
火星车的转移矩阵
从这个过程里采样
马尔可夫奖励过程(MRP)
火星车 MRP
回报与值函数
折扣因子 γ
三条轨迹,三个回报
值函数:把它们平均起来
算法一:模拟
马尔可夫结构给出的分解
写成矩阵
算法二:解析解
算法三:动态规划
马尔可夫决策过程(MDP)
火星车 MDP:两个确定性动作
MDP 的策略
MDP + 策略 = MRP
策略评估的迭代算法
检验题:γ=0 时这个策略值多少
练习:做一次备份
MDP 控制
检验题:有多少个策略
最优策略的三个性质
策略搜索:能不能直接枚举
策略迭代(PI)
新定义:状态–动作值 Q
策略改进
把两步拼起来
改进这一步为什么奇怪
单调改进
证明:把不等式一层层套进去
检验题:会不会反复横跳
换一条路:值迭代
贝尔曼方程与备份算子
值迭代(VI)
用算子重述策略迭代
回到值迭代:怎么取出策略
压缩算子
值迭代会收敛吗
证明:备份是压缩
检验题:初始化重要吗
有限 horizon 的值迭代
有限 horizon 下策略还平稳吗
值迭代 vs 策略迭代
这一讲你该掌握什么
附录:重复页
讲稿全文
原讲座 ↗
L03
无模型策略评估:蒙特卡洛、时序差分与重要性采样
41 条讲解
放映厅
速览
精读
课件
这一讲要干什么:把「模型」这一项拿掉
这一讲的清单
复习:G、V、Q 三个定义
动态规划做策略评估:参照系
画成一棵树:DP 要把整层摊开
什么叫自举(bootstrapping)
动态规划的三条要价
路线图:轮到蒙特卡洛
蒙特卡洛:值 = 回报的平均,以及它的四条性质
on-policy:数据必须来自你要评估的那个策略
首次访问 MC:算法
偏差、方差、MSE:本讲的尺子
首次访问 MC:无偏
每次访问 MC:有偏,但常常更好
写成滑动平均:α 的两种取法
检验题:火星车上手算一遍 MC
MC 在树上做什么:窄而深
蒙特卡洛的两条硬伤,与小结
路线图:轮到 TD
时序差分:把 MC 和 DP 缝在一起
TD 是怎么推出来的:把 G 换成一步估计
TD(0) 与 TD 误差
检验题:同一条轨迹,TD 给什么
三方性质表:本讲最该记住的一张
拿什么标准比较(第一版)
偏差与方差:MC 对 TD
三种估计并排看:同一条轨迹,不同答案
如果允许把数据反复用呢
AB 例子:八个回合,两个状态
批量下它们收敛到不同的东西
数据效率与计算效率
第四条路:确定性等价
比较维度:补上第四条
小结与路线图
为什么需要 off-policy 评估
形式化,以及那个从未兑现的承诺
分布不匹配:问题的几何形状
重要性采样:一般形式(以及课件这一页的三处笔误)
用到策略评估上:动力学会约掉
小结:它要什么、不要什么
下一讲:从评估走到控制
讲稿全文
原讲座 ↗
L04
无模型控制:ε-贪婪、SARSA、Q-learning 与最大化偏差
40 条讲解
放映厅
速览
精读
课件
这一讲要干什么
从评估到控制
四要素里今天碰哪几个
今天的清单
什么场合用得上
on-policy 与 off-policy
目录:广义策略迭代
复习:策略迭代
把 V 换成 Q
用 MC 估 Q
有了 Q,改进变得极简单
但这条路上有两个坑
目录:探索的重要性
带探索的策略评估
ε-贪婪策略
检验题:用 MC 估 Q
ε-贪婪也保单调改进
一个必须说清的前提
GLIE:无限探索下最终变贪婪
目录:蒙特卡洛控制
MC 在线控制
检验题:MC 控制走一轮
GLIE MC 控制收敛
那 TD 呢
目录:TD 控制
TD 版的策略迭代
SARSA
SARSA 的收敛条件
Q-learning
行为策略与目标策略
ε-贪婪的 Q-learning
检验题:Q-learning 走一步
两种收敛,条件不一样
目录:最大化偏差
最大化偏差
双学习:把「选」和「估」拆开
Double Q-learning
实验:差距有多大
目录:讲完了
这一讲你该掌握什么
讲稿全文
原讲座 ↗
L05
值函数逼近:线性 VFA、收敛保证与致命三件套
35 条讲解
放映厅
速览
精读
课件
这一讲要干什么
表格表示撑不住了
四要素:今天轮到泛化
目录:引入讲完了
值函数逼近(VFA)是什么
泛化买到了三样东西
选哪种函数逼近器
复习:梯度下降
目录:进入「用 VFA 做预测」
先假设有个神谕
但神谕并不存在
特征向量
线性 VFA:更新式读成三个因子
蒙特卡洛 VFA
Baird 例子:MC 走一步
平稳分布 d(s)
MC + 线性 VFA 收敛到哪
批量 MC:直接解出来
复习:查表式 TD
TD(0) + 值函数逼近:三层近似
TD(0) 线性 VFA 算法
Baird 例子:TD 走一步
TD + 线性 VFA 收敛到哪
检验题:表格表示时误差是多少
谁收敛得更快
目录:进入控制,气候要变了
致命三件套
Q 的线性逼近
三个算法的 VFA 版
为什么会出问题:压缩 vs 扩张
Baird:off-policy 真的会炸
收敛性总表
这是个活跃的研究方向
那张几何图
这一讲你该掌握什么
讲稿全文
原讲座 ↗
L06
卷积网络与深度 Q 学习:DQN 及其三个改进
33 条讲解
放映厅
速览
精读
课件
这一讲要干什么
为什么要泛化
复习:SGD 与线性 VFA
线性 VFA 的天花板
深度网络:函数的复合
深度网络换来了什么
为什么要讲 CNN
全连接网络:参数爆炸
卷积网络的四个想法
感受野、步长、权重共享
特征图与多组滤波器
池化层与最后的全连接层
深度强化学习
DQN:用网络表示 Q
Atari 上的 DQN
两个会把它搞崩的问题
经验回放
固定 Q 目标
DQN 小结
Demo 与 Atari 结果
消融实验:哪一样最重要
三个立竿见影的改进
Double DQN
Double DQN 的效果
回到火星车
回放的顺序会带来指数级差别
优先经验回放
优先回放的效果
优势函数与 Dueling DQN
可辨识性问题
Dueling 的效果
实操建议(来自 John Schulman)
这一讲讲完了
讲稿全文
原讲座 ↗
L07
模仿学习:行为克隆、DAGGER、逆强化学习与特征匹配
26 条讲解
放映厅
速览
精读
课件
这一讲要干什么
复习:DQN 与两个改进
复习:优势函数与 Dueling DQN
复习:DQN 实操建议
Rainbow 与无模型 VFA 小结
还缺一样:效率
蒙特祖玛的复仇
RL 到目前为止的处境
奖励塑形:奖励从哪来
应用举例
从演示中学习
问题设定:三条路
目录:行为克隆
行为克隆
致命缺陷:误差会累积
DAGGER:把专家留在回路里
目录:逆强化学习
逆 RL 的起点:两个问题
线性特征下的逆 RL
目录:学徒学习
把「最优」写成对 w 的约束
特征匹配
学徒学习算法
两个仍然没解决的麻烦
两条主流出路
小结与下一讲
讲稿全文
原讲座 ↗
L08
策略梯度 I:不再绕值函数,直接对策略求导
30 条讲解
放映厅
速览
精读
课件
这一讲要干什么
目录
基于值 vs 基于策略
利弊
为什么要随机策略(一):石头剪刀布
为什么要随机策略(二):混叠网格世界
怎么衡量一个策略好不好
先说无梯度的那一类
转向梯度法
策略梯度
最笨的办法:有限差分
用有限差分教 AIBO 走路
改成解析地求梯度
换个记号:按轨迹来写
似然比技巧
score function 的直觉
拆开轨迹:动态项自己消失了
score function 与合起来的式子
策略梯度定理
无偏,但噪声极大
修法一:利用时间结构
REINFORCE
可微的策略类
Softmax 策略(离散动作)
高斯策略(连续动作)
修法二:引入基线
为什么基线不引入偏差
「香草」策略梯度算法
值函数当基线,以及 n 步估计
应用与下一讲
讲稿全文
原讲座 ↗
L09
策略梯度 II:基线、actor-critic,以及「该走多远」
30 条讲解
放映厅
速览
精读
课件
这一讲要干什么
课堂反馈
复习:策略梯度
我们到底想要什么样的算法
目录
复习:无偏但噪声大
基线
为什么基线不引入偏差
「香草」策略梯度算法
基线选什么:值函数
目录
换掉目标:critic 与 actor-critic
带值函数的策略梯度公式
n 步估计:在 TD 和 MC 之间调
目录:转向「该走多远」
为什么步长在 RL 里格外要紧
最直接的办法:沿梯度做线搜索
关键改写:用旧策略的优势表达新策略的值
目录:局部近似
局部近似:把 ρ 换成旧策略的
保守策略迭代:第一个下界
推广到一般随机策略
为什么优化下界就够了
从惩罚项改成硬约束:信赖域
从理论到实践:三次替换
怎么求下一个参数
TRPO 算法
结果与小结
策略梯度算法的通用模板
这一讲你该掌握什么
讲稿全文
原讲座 ↗
L10
保守策略改进与 TRPO:把「不变差」变成一条可优化的下界
19 条讲解
放映厅
速览
精读
课件
这一讲要干什么
复习:基于策略的 RL
复习:香草策略梯度与三个选择
为什么「走多远」在 RL 里是个大问题
关键改写:用旧策略的优势表达新策略的值
目录:局部近似
局部近似:硬换掉那个分布
第一个下界:保守策略迭代
推广到一般随机策略
为什么「优化下界」就够了
目录:信赖域
把惩罚项改成硬约束
从理论到实践:三次替换
采样分布取什么
怎么解这个带约束的问题
TRPO 算法
结果与小结
策略梯度算法的通用模板
策略梯度小结
讲稿全文
课件·下半
原讲座 ↗
L11
探索与多臂老虎机:把判据从「能不能学到」换成「要多少数据」
33 条讲解
放映厅
速览
精读
课件
这一讲要干什么
计算效率不等于样本效率
三层词汇:设定、框架、方法
多臂老虎机
遗憾
遗憾 = 计数 × 差距
贪心算法
ε-贪心算法
断脚趾例子:设定
贪心在这个例子上:第一轮就可能走偏
ε-贪心在这个例子上,以及「线性」到底多糟
两类遗憾界
下界:常数遗憾做不到
乐观面对不确定
置信上界(UCB)
Hoeffding 不等式:半径从哪来
高概率遗憾界:板书上的完整推导
UCB1 与对数遗憾定理
UCB1 在断脚趾例子上
把遗憾一步步记下来
检验题:为什么不能用置信下界
贝叶斯老虎机
遗憾与贝叶斯遗憾
贝叶斯 UCB(高斯情形)
概率匹配
Thompson 采样:一行代码实现概率匹配
Thompson 在断脚趾例子上,以及和 UCB 的对照
Thompson 的理论地位
上下文老虎机,以及贝叶斯遗憾界
乐观初始化
四个算法的总表
回到蒙特祖玛
附:怎么把 UCB 算出来
讲稿全文
原讲座 ↗
L12
从频率派到贝叶斯,从老虎机回到 MDP
26 条讲解
放映厅
速览
精读
课件
这一讲在整条线里的位置
三个维度:设定 · 框架 · 做法
回顾:老虎机与遗憾
乐观:UCB 与它的遗憾定理
玩具例子:三条臂上跑一遍 UCB
检验题:为什么必须用上界,不能用下界
乐观初始化,与三种做法的遗憾
贝叶斯老虎机:开始用先验
贝叶斯推断复习,以及「共轭」为什么要紧
伯努利 + Beta:伪计数
第二把尺子:贝叶斯遗憾
概率匹配:按「它是最优的概率」来选
Thompson 采样:抽一个样本当真
玩具例子:Thompson 采样逐步跑一遍
并排比一次:序列与遗憾
理论与实证给出了不同的排名
上下文老虎机:新闻推荐那篇
贝叶斯遗憾界:和 UCB 一样
第三把尺子:PAC —— 数大错的个数
同一组数据,两把尺子给出不同裁决
搬回 MDP:同一套框架与做法
无模型的乐观初始化:好用,但保证要付天价
有模型的乐观:两条路线
MBIE-EB:计数建模 + β/√N 加成
MDP 上的 PAC:定义、结论、充分条件
实证:六臂模拟
讲稿全文
原讲座 ↗
L13
把「探索是对的」证成定理,再承认它在深度网络上还不成立
13 条讲解
放映厅
速览
精读
课件
这一讲要干什么:把探索证成定理
回顾 MBIE-EB 与 MDP 上的 PAC
三条充分条件:这是一张检查表
乐观性怎么证:β 够不够大
为什么要故意扔掉数据
两个构造出来的 MDP,与鸽笼论证
回顾:贝叶斯老虎机那一套
MDP 上的 Thompson 采样:抽一整个世界,然后解它
泛化与探索:计数不泛化
把加成搬进 Q-learning
有方向的探索能带来什么:Montezuma's Revenge
贝叶斯那一支在深度网络上的两种做法
小结:这三讲要求你会什么
讲稿全文
原讲座 ↗
L15
只有一份旧数据,怎么在上线之前就知道新策略更好
22 条讲解
放映厅
速览
精读
课件
这一讲是什么:一门课里的一次研究报告
一个科学实验:反事实与泛化
批量强化学习的设定
为什么必须「安全」,以及安全该是什么意思
记号与形式定义
三段式配方:整讲的骨架
重要性采样:环境的因子全部约掉
覆盖条件,与 Hoeffding 的登场
安全策略改进:算法可以拒绝
每步重要性采样:未来影响不了已经拿到的奖励
加权重要性采样:有偏,但方差小得多
控制变量:减方差的通用工具
双重稳健:把控制变量接到 IS 上
实验结果与混合:按情形在两者之间调
支撑集的边界情形:零样本时该返回什么
收益有多大,以及非平稳的情形
第二格翻车:下界是负的百万量级
截尾修复:只压低不抬高,所以界还成立
换不等式:从最坏情况退到分布假设
安全策略改进:最终形态
两个应用:数字营销与糖尿病治疗
本讲没覆盖的,与该记住的
讲稿全文
原讲座 ↗
L16
拟合一个模型就等于拥有一个模拟器,而模拟器可以拿来想事情
20 条讲解
放映厅
速览
精读
课件
为什么用 MCTS 收尾
学一个模型,就等于拥有一个模拟器
好处与坏处:能迁移,但误差会复合
模型长什么样,怎么学
AB 例子:批 TD 与批 MC 收敛到两个不同的东西
采样式规划:为什么要从模型里采假数据
模型不准怎么办:两个解法各只治一种病
前向搜索:只解「从现在开始」的那个子问题
简单蒙特卡洛搜索:恰好一步策略改进
Expectimax 树:正确,但叶子数是 (|S||A|)^H
MCTS:故意长成偏的一棵树
UCT:把每个节点当成一个独立的老虎机
围棋:规则是已知的,难在搜索空间
在围棋上跑一遍,和自我对弈这个真正的关键
MCTS 的好处:五条,而「随时可停」最被低估
★ 乐观在规划里是错的 —— 在脑子里做坏决策不疼
全课五条目标:她自己认为哪一条最有用
她对这个领域的判断:手机上还没有 RL
两页图:课程评估与早期围棋结果
变体与 AlphaGo:学一个值函数,就不必 rollout 到底
讲稿全文
原讲座 ↗